#pragma once

#include <string>
#include <vector>

class FactoryConfig;
class CommandConfig;
class ConnectionConfig
{
private:
	std::vector<FactoryConfig*> brokers;
	std::vector<CommandConfig*> commands;
public:
	ConnectionConfig(void);
	~ConnectionConfig(void);

	void addFactoryConfig( FactoryConfig* const factoryCfg){ brokers.push_back(factoryCfg);};
	void addCommandConfig(CommandConfig* const command){ commands.push_back(command);};
	 CommandConfig*  removeCommandConfig(const std::string& cmdName) ;
	FactoryConfig*  removeFactoryConfig(const std::string& factoryName) ;
	 CommandConfig* const getCommandConfig(const std::string& cmdName) const;
	 FactoryConfig* const getFactoryConfig(const std::string& factoryName) const;
};
